package com.naiterui.ehp.bs.file.api.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 用于标记生成安全链接注解
 * 
 * 标注到具体mapping方法上
 * 
 * @author luao
 */
@Inherited
@Documented
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface SafeUrlMappingTransfer {

    /**
     * 失效时长; -1即为使用默认失效时长
     * 
     * @return
     */
    int timeLength() default -1;

    /**
     * 时间校验; 默认打开
     * 
     * @return
     */
    boolean timeCheck() default true;

    /**
     * 是否开启ip校验; 默认开启
     * 
     * @return
     */
    boolean ipCheck() default true;

    /**
     * 是否开启ua校验; 默认开启
     * 
     * @return
     */
    boolean uaCheck() default false;

    /**
     * 是否开启referer校验; 默认开启
     * 
     * @return
     */
    boolean refererCheck() default false;

    /**
     * 自定义匹配前缀
     *
     * @return
     */
    String customPrefix() default "";

    /**
     * 自定义匹配前缀是否替换
     *
     * @return
     */
    boolean customPrefixReplace() default true;
}
